package com.cogent.dao.domain;

import com.cogent.common.util.StringUtil;
import com.cogent.dao.type.QueryType;

public class QueryParamDomain {	
	/**
	 * 表名
	 */
	private String tableName;
	
	/**
	 * 对应表字段
	 */
	private String tableField;
	
	/**
	 * 映射后的表字段
	 */
	private String mapedFileld;
	
	/**
	 * 当前字段值
	 */
	private String curValue;
	
	/**
	 * 查询类型
	 * @see QueryType
	 */
	private int queryType = 0;
	
	/**
	 * 构造函数
	 */
	public QueryParamDomain() {
		
	}
	
	/**
	 * 构造函数
	 * @param tableName 查询字段对应的表名
	 * @param tableField 查询字段对应的数据库字段
	 * @param mapedFileld 查询字段的映射字段
	 * @param curValue 查询字段值
	 * @param queryType 查询类型,@see QueryType
	 */
	public QueryParamDomain(String tableName, String tableField, String mapedFileld, String curValue, int queryType) {
		this.tableName = tableName;
		this.tableField = tableField;
		this.mapedFileld = mapedFileld;
		this.curValue = curValue;
		this.queryType = queryType;
	}
	
	/**
	 * 构造函数
	 * @param tableName 查询字段对应的表名
	 * @param tableField 查询字段对应的数据库字段
	 * @param mapedFileld 查询字段的映射字段
	 * @param curValue 查询字段值
	 */
	public QueryParamDomain(String tableName, String tableField, String mapedFileld, String curValue) {
		this.tableName = tableName;
		this.tableField = tableField;
		this.mapedFileld = mapedFileld;
		this.curValue = curValue;
	}
	
	public QueryParamDomain(String tableName, String tableField, String curValue, int queryType) {
		this.tableName = tableName;
		this.tableField = tableField;
		this.curValue = curValue;
		this.queryType = queryType;
	}
	
	/**
	 * 构造函数
	 * @param tableField 查询字段对应的数据库字段
	 * @param curValue 查询字段值
	 * @param queryType 查询类型,@see QueryType
	 */
	public QueryParamDomain(String tableField, String curValue, int queryType) {
		this.tableField = tableField;
		this.curValue = curValue;
		this.queryType = queryType;
	}
	
	/**
	 * 构造函数
	 * @param tableField 查询字段对应的数据库字段
	 * @param curValue 查询字段值
	 */
	public QueryParamDomain(String tableName, String tableField, String curValue) {
		this.tableName = tableName;
		this.tableField = tableField;
		this.mapedFileld = tableField;
		this.curValue = curValue;
	}
	
	/**
	 * 构造函数
	 * @param tableField 查询字段对应的数据库字段
	 * @param curValue 查询字段值
	 */
	public QueryParamDomain(String tableField, String curValue) {
		this.tableField = tableField;
		this.curValue = curValue;
	}

	public String getTableName() {
		return tableName;
	}

	public void setTableName(String tableName) {
		this.tableName = tableName;
	}

	public String getTableField() {
		return tableField;
	}

	public void setTableField(String tableField) {
		this.tableField = tableField;
	}

	public String getMapedFileld() {
		return mapedFileld;
	}

	public void setMapedFileld(String mapedFileld) {
		this.mapedFileld = mapedFileld;
	}

	public String getCurValue() {
		return curValue;
	}

	public void setCurValue(String curValue) {
		this.curValue = curValue;
	}

	public int getQueryType() {
		return queryType;
	}

	public void setQueryType(int queryType) {
		this.queryType = queryType;
	}
	
	public String toString() {
		return StringUtil.getLinkString(StringUtil.getLinkString(StringUtil.getLinkString(
					StringUtil.getLinkString(this.curValue,
					this.mapedFileld), this.tableField), this.tableName), "" + this.queryType);
	}
}
